package com.hxf.service.role;

import java.util.List;

import com.hxf.dto.ReturnData;
import com.hxf.dto.RoleDto;
import com.hxf.dto.RoleMenuDto;
import com.hxf.exception.DaoLevelException;
import com.hxf.exception.ServiceException;
import com.hxf.service.base.BaseService;
import com.hxf.web.vo.RoleMenuVo;

/**
 * service权限接口
 * @author tengyicheng
 * @version [1.0, 2013/09/22]
 * @see [相关类/方法]
 * @since [产品/模块版本]
 */
public interface RoleService extends BaseService {
	/**
	 * 分页查询角色
	 * @param roleDto
	 * @return List<RoleDto>
	 * @throws ServiceException
	 */
	public ReturnData<RoleDto> findByRole(RoleDto roleDto, int targetPage, int pageSize)throws ServiceException;
	
	/**
	 * 查询所有角色
	 * @param roleDto
	 * @return
	 * @throws ServiceException
	 */
	public List<RoleDto> findByRole(RoleDto roleDto) throws ServiceException;
	
	/**
	 * 查询所有权限菜单和已绑定菜单
	 * @param urDto
	 * @return
	 * @throws ServiceException
	 */
	public List<RoleMenuVo> findByRoleAddMenu(RoleMenuDto roleMenuDto)throws ServiceException;
	
	/**
	 * 保存绑定菜单
	 * @param userRoleDto
	 * @return
	 * @throws ServiceException
	 */
	public void saveRoleAddMenu(RoleDto roleDto, String menuIds)throws ServiceException;
	
	/*
	 * 获取登陆用户ID, 显示该用户对应的权限
	 */
	public ReturnData<RoleDto> findByRoleOrAdmin(RoleDto roleDto,int targetPage,int pageSize) throws ServiceException, DaoLevelException;
}
